// subChat/vote/vote.js
import {
  formatTime
} from '../../utils/date_formatter'
import Dialog from '@vant/weapp/dialog/dialog';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    chat_id: null,
    form: {
      type: 0,
      title: null,
      dec: null,
      num: 1,
      options: [{
        id: 1,
        dec: ''
      }],
      currentDate: null
    },
    show_data: false,
    currentDate: new Date().getTime(),
    minDate: new Date().getTime(),
    formatter(type, value) {
      if (type === 'year') {
        return `${value}年`;
      }
      if (type === 'month') {
        return `${value}月`;
      }
      if (type === 'day') {
        return `${value}日`;
      }
      if (type === 'hour') {
        return `${value}小时`;
      }
      if (type === 'minute') {
        return `${value}分`;
      }
    },
  },
  // 添加选项
  add_options() {
    let id = this.data.form.num + 1
    this.setData({
      'form.num': this.data.form.num + 1,
      'form.options': [...this.data.form.options, {
        id,
        dec: ''
      }]
    });
  },
  // 选择时间
  onClick() {
    this.setData({
      show_data: !this.data.show_data
    })
  },
  // 确认选中时间
  onConfirm(e) {
    console.log(e.detail);
    const result = formatTime(e.detail, "YYYY年MM月DD日 HH：mm")
    this.setData({
      'form.currentDate': result,
    })
    this.onClick()
  },
  // 收集类型
  onChange(e) {
    this.setData({
      'form.type': e.detail
    })
  },
  // 收集标题描述信息
  getInfo(e) {
    const value = e.detail;
    const filed = e.currentTarget.dataset.filed;
    const optval = 'form.' + filed;
    this.setData({
      [optval]: value
    })
  },
  // 收集选项
  getOptions(e) {
    const value = e.detail;
    const filed = e.currentTarget.dataset.filed;
    console.log(value, filed);
    const index = this.data.form.options.findIndex(item => {
      return item.id == filed
    });
    this.data.form.options[index].dec = value
    this.setData({
      'form.options': this.data.form.options
    })
  },
  // 发布
  async send() {
    const params = {
      type: this.data.form.type,
      title: this.data.form.title,
      decs: this.data.form.dec,
      end_time: this.data.form.currentDate,
      uid: getApp().globalData.userInfo.id,
      chat_id: this.data.chat_id,
      opt_title:this.data.form.options
    }
    try {
      wx.showLoading({
        title: '发布中',
      })
      const json = await getApp().$axios("/addVote", "POST", params)
      if (json.status !== 200) {
        wx.showToast({
          title: '发布出问题了',
          icon: 'none'
        })
        return
      }
      console.log(json);
      // 获得群聊id 在向消息表中插入一条消息
      const params2 = {
        chat_ID: this.data.chat_id,
        uid: getApp().globalData.userInfo.id,
        msg_type: 4,
        msg_content: json.id
      }
      const result = await getApp().$axios("/addSignMessage", "POST", params2)
      wx.hideLoading()
      if (result.status !== 200) {
        wx.showToast({
          title: '发布出问题了',
          icon: 'none'
        })
        return
      }
      Dialog.alert({
        title: '提示',
        message: '发布成功！',
        theme: 'round-button',
      }).then(() => {
        // on close
        wx.navigateBack({
          delta:1
        })
      });
    } catch (error) {
      wx.showToast({
        title: error.msg,
        icon: "error"
      })
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      chat_id: options.chat_id
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})